home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / muds / lpmud312.tar / lpmud312 / COMPAT < prev    next >
Text File  |  1991-11-30  |  2KB  |  59 lines

  1. This files documents what is incompatible between game driver 2.4.5 and 3.0.
  2.  
  3. If you find anything that is not listed here, then please mail me a note
  4. (lars@cd.chalmers.se)
  5.  
  6. To have game driver 3.0 be (almost) compatible with game driver 2.4.5,
  7. you have to compile it with the symbol COMPAT_MODE defined (found in
  8. config.h).
  9.  
  10. Changes:
  11.  
  12. * The efun combine_free_list() is only defined when malloc.c (no longer
  13.   supported nor supplied) is used. It may be called from /room/church.c
  14.   in the 2.4.5 mudlib. Simply remove the call !
  15.  
  16. * The file /room/void.c is no longer loaded automatically used. The
  17.   result is that when a wizard destructs a room with players in it,
  18.   they will also be destructed.
  19.  
  20. * reset() is called in a different way. Always when the object is
  21.   loaded, but then also at irregular intervals. reset() will never be called
  22.   just when the object is referenced (by a call_other() or move_object() as
  23.   in 2.4.5). reset() will be called even if noone is there. That means that
  24.   more memory is used.
  25.  
  26. * clean_up() is a function that is called now and then (as specified
  27.   in config.h). The idea is that this function should destruct the object if
  28.   the object doesn't feel it is needed (empty rooms for example). This will
  29.   make the game use less memory.
  30.  
  31. * The LPC compiler is more restrictive. Functions are not allowed to be
  32.   double defined etc.
  33.  
  34. * A symbol LPC3 will always be defined, to be used by '#ifdef LPC3' in
  35.   LPC code. The idea is to make it possible to conditionally compile code
  36.   for the 2.4.5 game driver or 3.0 game driver.
  37.  
  38. * A symbol COMPAT_FLAG will be defined when in compatibility mode.
  39.  
  40. * New efuns: version(), member_array() ...
  41.  
  42. * A lot of hardcoded tests in the game driver has been moved to a new file,
  43.   /obj/master.c. An example of this file is provided. It may have to be
  44.   edited.
  45.  
  46. * A lot of new constants has to be defined correctly in config.h and Makefile.
  47.   However, there is a script, 'configure', that will help you configure
  48.   Makefile.
  49.  
  50. * call_out() now saves the value from this_player(). That means that a 'write'
  51.   will reach the correct person when done from call_out(). The problem is
  52.   that say() not will reach the player that initiated the call_out().
  53.  
  54. * In 2.4.5 you could move_object(this_object(), this_object()). Nothing would
  55.   actually be moved and no error was generated. In 3.0, an error will be
  56.   generated.
  57.  
  58. * The usage of the escape character '\' now works as expected.
  59.